package com.cheng.example.book.advise151.chap3;


/**
 *
 * 建议32：静态变量一定要先声明后赋值（很重要啊）
 *
 *
 * 1、静态变量是在类初始化的时候首先被加载的，JVM会去查找类中所有的静态声明，然后分配空间
 * 2、注意这时候只是完成了地址空间的分配，还没有赋值，之后JVM会根据类中静态赋值(包括静态类赋值和静态块赋值)的先后顺序来执行
 * 3、对于程序来说，就是先声明了int类型的地址空间，并把地址传递给了i，然后按照类的先后顺序执行赋值操作，
 * 首先执行静态块中i = 100,接着执行 i = 1,那最后的结果就是 i =1了。
 */
public class Client32 {

    static {
        i = 100;
    }

    public static int i = 1;

    public static void main(String[] args) {
        System.out.println(i);
    }

}